#pragma once

#define MXSTDMETHOD  __stdcall

class IMxPluginBaseIID
{
public:
	static char * const GUID() { return "3727FEA8-BE15-4976-841A-6735A0DC219B"; }
	static char * const Name() { return "IMxPluginBase"; }
	static const int	IIdSize = 36;
};

class  IMxPluginBase 
{
public:

virtual long		MXSTDMETHOD DestroyPtr(void) = 0;
virtual long		MXSTDMETHOD DuplicatePtr(void) = 0;
virtual void *		MXSTDMETHOD Dynamic_cast(const char *IId) = 0;
virtual const char *MXSTDMETHOD GetInterfaceGUID(void) = 0;
virtual const char *MXSTDMETHOD GetInterfaceName(void) = 0;
};